.TH std::experimental::split,split_by 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::experimental::split,split_by \- std::experimental::split,split_by

.SH Synopsis
   Defined in header <experimental/simd>
   template< std::size_t... Sizes, class T, class Abi >

   std::tuple<simd<T, simd_abi::deduce_t<T, Sizes>>...>         \fB(1)\fP (parallelism TS v2)

       split( const simd<T, Abi>& v ) noexcept;
   template< std::size_t... Sizes, class T, class Abi >

   std::tuple<simd_mask<T, simd_abi::deduce_t<T, Sizes>>...>    \fB(2)\fP (parallelism TS v2)

       split( const simd_mask<T, Abi>& v ) noexcept;
   template< class V, class Abi >

   std::array<V, simd_size_v<typename V::value_type, Abi> /
   V::size()>                                                   \fB(3)\fP (parallelism TS v2)

       split( const simd<typename V::value_type, Abi>& v )
   noexcept;
   template< class V, class Abi >

   std::array<V, simd_size_v<typename V::value_type, Abi> /
   V::size()>                                                   \fB(4)\fP (parallelism TS v2)

       split( const simd_mask<typename V::value_type, Abi>& v )
   noexcept;
   template< size_t N, class T, class A >

   array<resize_simd<simd_size_v<T, A> / N, simd<T, A>>, N>     \fB(5)\fP (parallelism TS v2)

       split_by( const simd<T, A>& v ) noexcept;
   template< size_t N, class T, class A >

   array<resize_simd<simd_size_v<T, A> / N, simd_mask<T, A>>,   \fB(6)\fP (parallelism TS v2)
   N>

       split_by( const simd_mask<T, A>& v ) noexcept;

   Splits the input simd or simd_mask object into multiple simd or simd_mask objects.

   1,2) Split the input object into potentially different types (e.g. types with
   different sizes) of objects. These functions do not participate in overloading
   resolution unless Sizes... sum up to v.size().
   3,4) Split the input object into an array of objects. These functions do not
   participate in overloading resolution unless
     * The array element must be of type simd or simd_mask, for the type of v as simd
       or simd_mask, respectively.
     * simd_size_v<typename V::value_type, Abi> is an integral multiple of V::size().
   5,6) Split the input object into an array of objects. These functions shall not
   participate in overload resolution unless simd_size_v<T, A> is an integral multiple
   of N.

.SH Parameters

   v - the input simd or simd_mask object

.SH Return value

   1,2) A tuple that contains the splitted simd or simd_mask objects.
   3-6) An array that contains the splitted simd or simd_mask objects.

.SH Example

    This section is incomplete
    Reason: no example

.SH Category:
     * Todo no example
